package com.lxc.domain.manage.repository;

/**
 * @author lxc18
 * @date 2024/12/14 20:43
 * @description IConfigManageRepository
 */


import com.lxc.domain.manage.model.entity.*;

import java.util.List;

/**
 * @author 小傅哥，微信：fustack
 * @description 网关配置仓储服务
 * @github https://github.com/fuzhengwei
 * @Copyright 公众号：bugstack虫洞栈 | 博客：https://bugstack.cn - 沉淀、分享、成长，让自己和他人都能有所收获！
 */
public interface IConfigManageRepository {

    List<GatewayServerEntity> queryGatewayServerList();

    boolean registerGatewayServerNode(String groupId, String gatewayId, String gatewayName, String gatewayAddress, Integer available);

    GatewayServerDetailEntity queryGatewayServerDetail(String gatewayId, String gatewayAddress);

    boolean updateGatewayStatus(String gatewayId, String gatewayAddress, Integer available);

    List<ApplicationInterfaceEntity> getApplicationInterfaceBySystemId(String systemId);

    ApplicationSystemEntity getApplicationSystemBySystemId(String systemId);

    List<ApplicationInterfaceMethodEntity> getMethodsByInterfaceId(String interfaceId);

    //返回的是system_id列表
    List<String> getGatewayDistributionListByGatewayId(String gatewayId);

    List<GatewayServerDetailEntity> queryGatewayServerDetailList();
}

